//  项目/service/index.js
//  在当前文件中提供访问服务端接口的API方法，方便的发请求拿响应

export const base = 'https://www.codeboy.com/zhsqapi/'
// export const base = 'https://https://web.codeboy.com/zhsqapi/'

/**
 * 用户登录API (需要传入phone  pwd)
 * 接口地址： user/login
 * 请求方式： post
 */
export const userlogin = async (phone, pwd)=>{
	// 弹出等待框 loading
	uni.showLoading({
		title: "正在登录..."
	})
	// 发请求
	let url = base + 'user/login'
	let res = await uni.request({
		url,
		method: 'POST',
		data: {phone, pwd}
	})
	// 隐藏等待框
	uni.hideLoading()
	return res.data
}
 
/**
 * 获取首页需要展示的数据
 */
export const indexData = async ()=>{
	let url = base + "index/data"
	let res = await uni.request({
		url, 
		method:"GET",
		// 需要在此设置header，带着token一起发送
		header: {
			token: uni.getStorageSync('userToken')
		}
	})
	return res.data
}

/**
 * 3.1、当前登录用户各项待缴费金额汇总
 * 接口地址：fee/list
 * 请求方式：GET
 * 请求头部：token - 用户登录后保存在客户端的身份凭证
 */
export const feeList = async ()=>{
	let url = base + "fee/list"
	uni.showLoading({
		title: '读取中...'
	})
	let res = await uni.request({
		url, 
		header: {// 需要在此设置header，带着token一起发送
			token: uni.getStorageSync('userToken')
		}
	})
	uni.hideLoading()
	return res.data
}

/**
 * 3.2、获取指定类型的收费单位列表
 * 接口地址：fee/collector
 * 请求方式：GET
 * 请求示例：fee/collector?type=2
 * 	type 收费类型， 1-水费、2-电费、3-燃气费、4-物业费、5-停车费、6-宽带费
 */
export const feeCollector = async (type)=>{
	let url = base + `fee/collector?type=${type}`
	uni.showLoading({
		title: '读取中...'
	})
	let res = await uni.request({	
		url
	})
	uni.hideLoading()
	return res.data
}

/**
 * 3.3、提交缴费记录
 * 接口地址：fee/add
 * 请求方式：POST
 * 请求主体格式：application/json
 * 请求头部：token - 用户登录后保存在客户端的身份凭证
 * 请求数据说明：
 *	名称	必填	类型	说明
 *	token	是	string	请求头部中必须携带登录成功后得到的身份令牌，且必须在有效期内
 *	type	是	number	1-水费、2-电费、3-燃气费、4-物业费、5-停车费、6-宽带费
 *	collectorId	是	number	收费单位编号
 *	householdId	是	string	业主用户编号
 *	amount	是	float(10,2)	缴费金额
 */
export const feeAdd = async (type, collectorId, householdId, amount)=>{
	let url = base + `fee/add`
	uni.showLoading({
		title: '提交中...'
	})
	let res = await uni.request({
		method:'POST',																	//请求方法
		url, 																						//请求地址
		header: {																				//请求头部
			token: uni.getStorageSync('userToken')
		},
		data: {type, collectorId, householdId, amount}	//请求主体
	})
	uni.hideLoading()
	return res.data
}

/**
 * 3.4、当前登录用户缴费记录
 * 接口地址：fee/record
 * 请求方式：GET
 * 请求参数：
 * 			type - 费用的类型；  1-水费、2-电费、...
 *			startTime - 缴费开始时间（时间戳数字）；
 *			endTime - 缴费结束时间（时间戳数字）；
 * 请求头部：token - 用户登录后保存在客户端的身份凭证
 */
export const feeRecord = async (type=0, startTime, endTime)=>{
	let url = base + `fee/record?type=${type}&startTime=${startTime}&endTime=${endTime}`
	uni.showLoading({
		title: '读取中...'
	})
	let res = await uni.request({
		url, 
		header: {// 需要在此设置header，带着token一起发送
			token: uni.getStorageSync('userToken')
		}
	})
	uni.hideLoading()
	return res.data
}

/**
 * 4.1、根据业主缴费编号查询该业主的基本信息
 * 接口地址：household/query
 * 请求方式：GET
 * 请求示例：household/query?hhid=S60011
 * 		名称		必填		类型			说明
 *		hhid	必需		string	待查询的业主缴费编号
 * 注意：前端对此接口的请求需要防抖，时间间隔在2s以上
 */
export const householdQuery = async (hhid)=>{
	let url = base + `household/query?hhid=${hhid}`
	uni.showLoading({
		title: '读取中...'
	})
	let res = await uni.request({
		url
	})
	uni.hideLoading()
	return res.data
}




/**
 * 5.1、返回所有停车区坐标及当前空闲数据
 * 接口地址：parking/zone/list
 * 请求方式：GET
 * 请求示例：parking/zone/list
 */
export const parkingZoneList = async ()=>{
	let url = base + `parking/zone/list`
	uni.showLoading({
		title: '加载中...'
	})
	let res = await uni.request({
		url
	})
	uni.hideLoading()
	return res.data
}


/**
 * 6.3、分页获取互动消息列表
 * 接口地址：chat/query
 * 请求方式：GET
 * 请求参数：pageNum 
 * 请求数据： 
 * 名称	必填	类型	说明
 *  pageNum	非必需	number	默认值为1；要查询的互动消息页号
 */
export const chatQuery = async (pageNum=1)=>{
	let url = base + `chat/query?pageNum=`+pageNum
	uni.showLoading({
		title: '加载中...'
	})
	let res = await uni.request({
		url
	})
	uni.hideLoading()
	return res.data
}





